﻿Option Strict On
Option Explicit On
Option Infer On

Imports System
Imports System.Collections.Generic
Imports GenDotNet.TemplateSupport
Imports GenDotNet.Task.Common

Public Class Context

   Private mTypeInfo As TypeInfo

   Public Sub New(ByVal typeinfo As TypeInfo)
      Me.mTypeInfo = typeinfo
   End Sub

   Public Property TypeInfo() As TypeInfo
      Get
         Return mTypeInfo
      End Get
      Set(ByVal value As TypeInfo)
         mTypeInfo = value
      End Set
   End Property

End Class

Public Class ContextStack
   Inherits Stack(Of Context)

   Overloads Sub Push(ByVal typeInfo As TypeInfo)
      Me.push(New Context(typeInfo))
   End Sub
End Class